草庐IT

Swift 枚举评估

全部标签

java - 根据枚举类型调用特定方法?

这是我的问题的一个抽象示例:我有一个通用类(Car),它有一个类型(brand)。所有对象都应该只因品牌而异,并且基于这个品牌应该进行不同的处理。这个类的所有对象都收集在一个服务类的列表中。该服务应该对整个列表执行一个例程,大部分是相同的。两者之间只有一个函数调用应该不同。基于这种类型,我想调用不同的方法:目前我正在为枚举类型断言equals并根据结果调用不同的方法。但这有点丑陋,我想知道是否有更好的解决方案?classCar{publicenumBrand{BMW,AUDI;}privateBrandbrand;specificMeth1();specificMeth2();}cla

java - 如何在 Java 中创建一个值带有连字符的静态枚举?

如何创建如下所示的静态枚举staticenumTest{employee-id,employeeCode}到目前为止,我遇到了错误。 最佳答案 这对于Java是不可能的,因为每个项目都必须是一个有效的标识符(并且有效的Java标识符不能包含破折号)。最接近的做法是为每个枚举值添加自定义属性或重写toString方法,因此您可以执行以下操作:Test.EMPLOYEE_ID.getRealName();//Returns"employee-id"Test.EMPLOYEE_CODE.getRealName();//Returns"em

java - 如何通过属性获取枚举类型?

我写了一个枚举类,我想要么按类型获取属性,要么按属性获取类型,但这似乎不可能。publicenumAreaCode{area1(7927),area2(7928),area3(7929);privatefinalintac;AreaCode(intac){this.ac=ac;}intareaCode(){returnac;}AreaCodearea(intn){switch(n){case7927:returnAreaCode.area1;case7928:returnAreaCode.area2;case7929:returnAreaCode.area3;}}}上面的代码不会编译。

java - 在 GWT-RPC 中使用嵌套枚举

我有一个带有嵌套枚举的枚举(我想将其设为私有(private)),但是当我这样做时,GWT告诉我嵌套枚举不可见并抛出异常。publicenumOuterEnum{A(NestedEnum.X),B(NestedEnum.Y),C(NestedEnum.X);NestedEnumnestedValue;privateOuterEnum(NestedEnumnv){nestedValue=nv;}privateenumNestedEnum{X,Y;}}如果我从嵌套的枚举中删除private修饰符,那么代码就可以工作了。为什么GWT不允许嵌套枚举使用private修饰符?有解决方法吗?

java - 使用 Ebean 映射字符串和枚举集合(Play 2.0)

我在映射实体中的字符串和枚举集合时遇到问题。我遵循了不同的建议,但似乎没有任何效果。我正在使用PlayFramework2.0和提供的Ebean作为ORM。这是一个插图类:packagemodels;importjava.util.*;importjavax.persistence.*;importplay.db.ebean.Model;@Entity@Table(name="foo")publicclassFooextendsModel{privatestaticfinallongserialVersionUID=1L;privateenumFooBar{FOO,BAR;}@Idpu

具有乱序变量特性的Java公式评估库

我目前正在寻找用于公式解析和评估的Java库(或具有JavaAPI的native库)。根据此处的建议,我查看了许多库:JFormula杰瓦尔西米亚杰普但它们都不能满足我的需求,即:多个公式求值与它们之间的依赖关系(一个公式总是使用其他变量或数值对变量的影响)可能只更改50个公式中的一个,如果只更改一个公式,则性能良好无需手动处理变量依赖如果公式发生变化,自动更新其他因变量可以监听哪个变量发生了变化不需要为变量指定特定格式(用户将直接输入名称,不希望有复杂的符号)也许一个例子会更好。假设我们已经按以下顺序输入系统:a=b+cc=2*db=3d=2我希望能够按此顺序输入这4行,并询问“a”

java - JVM 可以在运行时优化一个不变的枚举方法吗?

JVM能否在以下场景下进行运行时优化?我们有以下情况,我们有这个接口(interface):publicinterfaceECSResource{defaultintgetFor(finalEntityentity){returnResourceRetriever.forResource(this).getFor(entity);}}以及具体的实现如:privatestaticenumTestResourcesimplementsECSResource{TR1,TR2;}JVM是否能够(在运行时)确定枚举实例(如TestResources.TR1)属于单个ResourceRetriev

带有AWS Lambda Python 2.7的枚举模块,与Travis CI一起部署

我在Python2.7中有一个从TravisCI部署的AWSLambda处理程序。但是,当我尝试运行该功能时,我收到了AWS的错误,说它无法导入枚举模块(ENUM34)。有没有简单的方法来解决这个问题?TravisCI是否应该包括Python正在运行的虚拟环境?如果没有,我该如何包括该Virtualenv?此外,当我从TravisCI部署时,它似乎会预先置入“索引”。进入Handler_name字段。有人知道为什么会发生这种情况,还是如何禁用它?我似乎找不到答案。看答案解决了。我将Python模块安装到项目根部的子目录中,而不是在项目根本身中。本质上是这样做的:pipinstall-rrequ

Java 8 升级导致继承静态枚举的编译器错误

我们正在将Java6项目升级到Java8。使用Java8重新编译会在java.awt.Frame子类中出现错误,我已简化为以下内容:org/example/Foo.javapackageorg.example;importorg.example.Type;importjava.awt.Frame;publicclassFooextendsFrame{publicFoo(){System.out.println(Type.BAZ);//org/example/Type.javapackageorg.example;publicclassType{publicstaticfinalintB

Java 无法将枚举用作注释的字符串参数(例如 : Jackson)

我正在编写使用Jackson的Java代码用于JSON序列化。我必须在我的类(class)之前使用的一个注释是@JsonTypeName(/*Insertstringhere*/),以便为此类的对象提供唯一的序列化标识符。在我当前的代码中,我们通过使用来自另一个类的全局常量来设置String参数。示例:publicclassAnnotationValues{privatestaticfinalStringid1="1";privatestaticfinalStringid2="2";privatestaticfinalStringid3="3";//Andsoon...}使用这个类,我